home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / JMenuBar.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  6.2 KB  |  278 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Graphics;
  5. import java.awt.Insets;
  6. import java.awt.event.KeyEvent;
  7. import java.awt.event.MouseEvent;
  8. import java.io.IOException;
  9. import java.io.ObjectInputStream;
  10. import java.io.ObjectOutputStream;
  11. import java.io.Serializable;
  12. import java.util.Vector;
  13. import javax.accessibility.Accessible;
  14. import javax.accessibility.AccessibleContext;
  15. import javax.swing.plaf.MenuBarUI;
  16.  
  17. public class JMenuBar extends JComponent implements Accessible, MenuElement {
  18.    private static final String uiClassID = "MenuBarUI";
  19.    private transient SingleSelectionModel selectionModel;
  20.    private boolean paintBorder = true;
  21.    private Insets margin = null;
  22.    private static final boolean TRACE = false;
  23.    private static final boolean VERBOSE = false;
  24.    private static final boolean DEBUG = false;
  25.  
  26.    public JMenuBar() {
  27.       this.setFocusTraversalKeysEnabled(false);
  28.       this.setSelectionModel(new DefaultSingleSelectionModel());
  29.       this.updateUI();
  30.    }
  31.  
  32.    public MenuBarUI getUI() {
  33.       return (MenuBarUI)this.ui;
  34.    }
  35.  
  36.    public void setUI(MenuBarUI var1) {
  37.       super.setUI(var1);
  38.    }
  39.  
  40.    public void updateUI() {
  41.       this.setUI((MenuBarUI)UIManager.getUI(this));
  42.    }
  43.  
  44.    public String getUIClassID() {
  45.       return "MenuBarUI";
  46.    }
  47.  
  48.    public SingleSelectionModel getSelectionModel() {
  49.       return this.selectionModel;
  50.    }
  51.  
  52.    public void setSelectionModel(SingleSelectionModel var1) {
  53.       SingleSelectionModel var2 = this.selectionModel;
  54.       this.selectionModel = var1;
  55.       this.firePropertyChange("selectionModel", var2, this.selectionModel);
  56.    }
  57.  
  58.    public JMenu add(JMenu var1) {
  59.       super.add(var1);
  60.       return var1;
  61.    }
  62.  
  63.    public JMenu getMenu(int var1) {
  64.       Component var2 = this.getComponentAtIndex(var1);
  65.       return var2 instanceof JMenu ? (JMenu)var2 : null;
  66.    }
  67.  
  68.    public int getMenuCount() {
  69.       return this.getComponentCount();
  70.    }
  71.  
  72.    public void setHelpMenu(JMenu var1) {
  73.       throw new Error("setHelpMenu() not yet implemented.");
  74.    }
  75.  
  76.    public JMenu getHelpMenu() {
  77.       throw new Error("getHelpMenu() not yet implemented.");
  78.    }
  79.  
  80.    /** @deprecated */
  81.    @Deprecated
  82.    public Component getComponentAtIndex(int var1) {
  83.       return var1 >= 0 && var1 < this.getComponentCount() ? this.getComponent(var1) : null;
  84.    }
  85.  
  86.    public int getComponentIndex(Component var1) {
  87.       int var2 = this.getComponentCount();
  88.       Component[] var3 = this.getComponents();
  89.  
  90.       for(int var4 = 0; var4 < var2; ++var4) {
  91.          Component var5 = var3[var4];
  92.          if (var5 == var1) {
  93.             return var4;
  94.          }
  95.       }
  96.  
  97.       return -1;
  98.    }
  99.  
  100.    public void setSelected(Component var1) {
  101.       SingleSelectionModel var2 = this.getSelectionModel();
  102.       int var3 = this.getComponentIndex(var1);
  103.       var2.setSelectedIndex(var3);
  104.    }
  105.  
  106.    public boolean isSelected() {
  107.       return this.selectionModel.isSelected();
  108.    }
  109.  
  110.    public boolean isBorderPainted() {
  111.       return this.paintBorder;
  112.    }
  113.  
  114.    public void setBorderPainted(boolean var1) {
  115.       boolean var2 = this.paintBorder;
  116.       this.paintBorder = var1;
  117.       this.firePropertyChange("borderPainted", var2, this.paintBorder);
  118.       if (var1 != var2) {
  119.          this.revalidate();
  120.          this.repaint();
  121.       }
  122.  
  123.    }
  124.  
  125.    protected void paintBorder(Graphics var1) {
  126.       if (this.isBorderPainted()) {
  127.          super.paintBorder(var1);
  128.       }
  129.  
  130.    }
  131.  
  132.    public void setMargin(Insets var1) {
  133.       Insets var2 = this.margin;
  134.       this.margin = var1;
  135.       this.firePropertyChange("margin", var2, var1);
  136.       if (var2 == null || !var2.equals(var1)) {
  137.          this.revalidate();
  138.          this.repaint();
  139.       }
  140.  
  141.    }
  142.  
  143.    public Insets getMargin() {
  144.       return this.margin == null ? new Insets(0, 0, 0, 0) : this.margin;
  145.    }
  146.  
  147.    public void processMouseEvent(MouseEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  148.    }
  149.  
  150.    public void processKeyEvent(KeyEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  151.    }
  152.  
  153.    public void menuSelectionChanged(boolean var1) {
  154.    }
  155.  
  156.    public MenuElement[] getSubElements() {
  157.       Vector var2 = new Vector();
  158.       int var3 = this.getComponentCount();
  159.  
  160.       for(int var4 = 0; var4 < var3; ++var4) {
  161.          Component var5 = this.getComponent(var4);
  162.          if (var5 instanceof MenuElement) {
  163.             var2.addElement(var5);
  164.          }
  165.       }
  166.  
  167.       MenuElement[] var1 = new MenuElement[var2.size()];
  168.       int var7 = 0;
  169.  
  170.       for(int var6 = var2.size(); var7 < var6; ++var7) {
  171.          var1[var7] = (MenuElement)var2.elementAt(var7);
  172.       }
  173.  
  174.       return var1;
  175.    }
  176.  
  177.    public Component getComponent() {
  178.       return this;
  179.    }
  180.  
  181.    protected String paramString() {
  182.       String var1 = this.paintBorder ? "true" : "false";
  183.       String var2 = this.margin != null ? this.margin.toString() : "";
  184.       return super.paramString() + ",margin=" + var2 + ",paintBorder=" + var1;
  185.    }
  186.  
  187.    public AccessibleContext getAccessibleContext() {
  188.       if (this.accessibleContext == null) {
  189.          this.accessibleContext = new AccessibleJMenuBar(this);
  190.       }
  191.  
  192.       return this.accessibleContext;
  193.    }
  194.  
  195.    protected boolean processKeyBinding(KeyStroke var1, KeyEvent var2, int var3, boolean var4) {
  196.       boolean var5 = super.processKeyBinding(var1, var2, var3, var4);
  197.       if (!var5) {
  198.          MenuElement[] var6 = this.getSubElements();
  199.  
  200.          for(int var7 = 0; var7 < var6.length; ++var7) {
  201.             if (processBindingForKeyStrokeRecursive(var6[var7], var1, var2, var3, var4)) {
  202.                return true;
  203.             }
  204.          }
  205.       }
  206.  
  207.       return var5;
  208.    }
  209.  
  210.    static boolean processBindingForKeyStrokeRecursive(MenuElement var0, KeyStroke var1, KeyEvent var2, int var3, boolean var4) {
  211.       if (var0 == null) {
  212.          return false;
  213.       } else {
  214.          Component var5 = var0.getComponent();
  215.          if ((var5.isVisible() || var5 instanceof JPopupMenu) && var5.isEnabled()) {
  216.             if (var5 != null && var5 instanceof JComponent && ((JComponent)var5).processKeyBinding(var1, var2, var3, var4)) {
  217.                return true;
  218.             } else {
  219.                MenuElement[] var6 = var0.getSubElements();
  220.  
  221.                for(int var7 = 0; var7 < var6.length; ++var7) {
  222.                   if (processBindingForKeyStrokeRecursive(var6[var7], var1, var2, var3, var4)) {
  223.                      return true;
  224.                   }
  225.                }
  226.  
  227.                return false;
  228.             }
  229.          } else {
  230.             return false;
  231.          }
  232.       }
  233.    }
  234.  
  235.    public void addNotify() {
  236.       super.addNotify();
  237.       KeyboardManager.getCurrentManager().registerMenuBar(this);
  238.    }
  239.  
  240.    public void removeNotify() {
  241.       super.removeNotify();
  242.       KeyboardManager.getCurrentManager().unregisterMenuBar(this);
  243.    }
  244.  
  245.    private void writeObject(ObjectOutputStream var1) throws IOException {
  246.       var1.defaultWriteObject();
  247.       if (this.getUIClassID().equals("MenuBarUI")) {
  248.          byte var2 = JComponent.getWriteObjCounter(this);
  249.          --var2;
  250.          JComponent.setWriteObjCounter(this, var2);
  251.          if (var2 == 0 && this.ui != null) {
  252.             this.ui.installUI(this);
  253.          }
  254.       }
  255.  
  256.       Object[] var5 = new Object[4];
  257.       int var3 = 0;
  258.       if (this.selectionModel instanceof Serializable) {
  259.          var5[var3++] = "selectionModel";
  260.          var5[var3++] = this.selectionModel;
  261.       }
  262.  
  263.       var1.writeObject(var5);
  264.    }
  265.  
  266.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  267.       var1.defaultReadObject();
  268.       Object[] var2 = var1.readObject();
  269.  
  270.       for(int var3 = 0; var3 < var2.length && var2[var3] != null; var3 += 2) {
  271.          if (var2[var3].equals("selectionModel")) {
  272.             this.selectionModel = (SingleSelectionModel)var2[var3 + 1];
  273.          }
  274.       }
  275.  
  276.    }
  277. }
  278.